WSGI 是 Web Server Gateway Interface 的縮寫,是一種協議,或是叫做規範。WSGI 定義了 web server 跟 python web application 之間溝通的規範。這樣的規範提供開發者很大的彈性,可以自由選擇不同的 web server 跟 python web application 去做搭配使用,只要是兩者都有符合 WSGI 就可以了哦!
ASGI (Asynchronous Server Gateway Interface)
ASGI 是 WSGI 的繼承者,已經存在的WSGI應用可以直接在ASGI服務器中運行
ASGI 代表異步服務器網關接口,是爲異步、同步應用程序提供標準,支持 WSGI 不支持當前 web 開發中的一些新的協議標準
介於網絡協議服務和Python應用之間的標準接口,能夠處理多種通用的協議類型,包括HTTP,HTTP2和WebSocket。
The room view will use a
WebSocket
to communicate with the Django server and listen for any messages that are posted.
Websocket 是必需條件,所以 Django-channels 採用符合 ASGI 的 Daphne Server 來當使用的媒介
learning-wsgi
ASGI Documentation